A relational database management system (RDBMS) is based on a relational model theory proposed by Edgar Frank Codd (E. F. Codd) in 1970 and has been widely used. A relational database (RDB) is an aggregate of a plurality of tables (that is, relations), and each table includes at least one row (tuple) and at least one column (attribute field). For example, there is Patent Document 1 (Japanese Laid-Open Patent Publication No. 2005-208757) as a related art document about RDBMS.
However, in a general RDBMS, when a data processing amount increases and a processing load increases, a reduction in the processing speed of transactions is noticeable. One of the causes of the reduction in the processing speed is that, when a search is performed for the table forming the RDB for each row having a variable data length, it takes a long time to calculate a data reading position, as compared to when the data length of each row is fixed.
In addition, RDBMS manages data for each row using a unique key. Therefore, it is possible to effectively perform a large number of processes for each row at the high speed, but it is difficult to effectively perform a large number of processes for each column. For example, when processing data for each column, RDBMS needs to read a plurality of rows of data corresponding to a column required by a query, which causes a reduction in the processing speed. RDBMS can write each row of data to continuous storage areas of a memory. Therefore, it is possible to access each row of data at a high speed. However, when RDBMS performs a transaction related to, for example, a search process for each column, a comparison operation, or an aggregate calculation, access to data stored in a plurality of discontinuous memory areas is likely to occur frequently, which results in a reduction in the processing speed.
A system called a data warehouse (DWH) has been used as a database system that effectively performs a search process or an aggregate process on a large amount of data. However, DWH is a system that is constructed independently from basic business systems and does not update data (add new data, change the existing data, or remove the existing data) in principle. Therefore, DWH does not have a database structure capable of effectively updating data.
In order to solve the problems of RDBMS or DWH according to the related art, for example, Patent Document 2 (Japanese Laid-Open Patent Publication No. 2000-339390) and Patent Document 3 (Pamphlet of International Publication No. WO 00/10103) disclose database systems. The database systems disclosed in Patent Document 2 and Patent Document 3 use a database structure obtained by converting logical tabular data into a plurality of information blocks corresponding to items, for example, sex, age, height, and weight. Each of the information blocks includes a value management table (value list) and an array of pointers to the value management table. The array of the pointers to the value management table means an array in which item value numbers (that is, the pointers to the value management table) in a certain column of tabular data are stored in a predetermined order (the order of record numbers) of the tabular data.
However, in the database structure disclosed in Patent Document 2 and Patent Document 3, the item value numbers in the value management table need to be arranged in a predetermined order. Therefore, when a new item value number is inserted into the value management table during the update of data (for example, the update, insertion, or removal of records), it is necessary to rearrange other existing item value numbers. In addition, the array of the pointers to the value management table needs to be updated such that the pointers are matched with the rearranged item value numbers. Therefore, in the database structure disclosed in Patent Document 2 and Patent Document 3, it is impossible to effectively update data at a high speed. In particular, when data is frequently updated, a processing load is very large and the processing speed is significantly reduced.
[Patent Document 1] Japanese Laid-Open Patent Publication No. 2005-208757
[Patent Document 2] Japanese Laid-Open Patent Publication No. 2000-339390
[Patent Document 3] Pamphlet of International Publication No. WO 00/10103